home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / c / recio202.zip / history < prev    next >
Text File  |  1994-05-05  |  5KB  |  118 lines

  1. recio, Version 2.02, Release May 5, 1994.
  2. Copyright (C) 1994, William Pierpoint.
  3.  
  4. HISTORY OF RECIO LIBRARY
  5.  
  6. 5/02/94 - vers 2.02
  7.  
  8.   Handling of errno made more reliable and more portable.  Some Borland C 
  9.   conversion functions clear errno first, some do not.  Where errno is 
  10.   checked after a conversion, cleared errno before conversion.
  11.  
  12.   Reduced code size of numeric field function modules by one-third by 
  13.   eliminating the macro emulation of function templates.  Number of header 
  14.   files reduced from nine to one.
  15.  
  16. 4/22/94 - vers 2.01
  17.  
  18.   Added rsetrecstr function to rget.c.  Sometimes it is handy to stuff a 
  19.   record buffer with your own string, then let the field input functions 
  20.   scan it.  
  21.   
  22.   Added mode check to several rget.c functions to ensure an error will be 
  23.   generated if these input functions are mistakenly used in an output stream.
  24.  
  25.   Fixed bugs in rwarn.c.  Warnings were not being cleared or reset correctly.
  26.  
  27.   Clarified documentation regarding mandatory use of assignment operator with 
  28.   scopys and scats functions.
  29.  
  30. 4/15/94 - vers 2.00
  31.  
  32.   RECIO can now write as well as read.  Over 25 new functions added.
  33.  
  34.   New record streams that are always open are recout, recerr, and recprn.
  35.   New predefined context numbers are RECOUT, RECERR, and RECPRN.
  36.  
  37.   ROPEN_MAX increased from 5 to 8.
  38.  
  39.   New symbolic error constants are: 
  40.     R_EINVMOD - tried to read file opened in write mode, or vice versa.
  41.     R_ENOPUT  - unable to output data.
  42.  
  43.   New callback warning function and associated warning functions.
  44.   Now all empty data strings are trapped as warnings.  Application can
  45.   choose to handle them or to ignore them.  Failure of atexit function 
  46.   is changed from an error to a warning.
  47.  
  48.   New symbolic warning constants:
  49.     R_WEMPSTR - data string is empty.
  50.     R_WWIDTH  - data too wide for columnar output.
  51.     R_WNOREG  - unable to register exit function with atexit().
  52.                 (changed from error symbolic constant R_ENOREG).
  53.  
  54.  
  55. 4/8/94 - vers 1.20
  56.  
  57.   Created new rerrstr and rstrerror functions.  Simplified TESTCH.C and 
  58.   TESTCO.C code by using rerrstr.
  59.  
  60.   Changed the specification and code for the rgets and rcgets functions to 
  61.   return a pointer to an empty string (rather than a null pointer) on error.  
  62.   This will help reduce null pointer errors in application programs. 
  63.  
  64.   Changed the specification and code for the rgetrec function.  The rgetrec 
  65.   function now clears the record buffer before the next record is read.  
  66.   This will cause the error number to be set to R_EMISDAT if the application 
  67.   ignores the eof indicator and attempts to read fields in records beyond 
  68.   end-of-file.  There is one exception: if the field just prior to the record 
  69.   buffer string terminator is a string field (which for an empty record buffer 
  70.   is the first field), it won't be trapped as missing data.  This is an 
  71.   unavoidable consequence of allowing empty string fields.  But you shouldn't 
  72.   be ignoring end-of-file anyway!  Also rgetrec continues to increment the 
  73.   record number if the program reads beyond end of file.  This solves an 
  74.   "off by one" bug when the file ends prematurely.
  75.  
  76.   Developed the dif program to locate line where two text files first 
  77.   differ.  Inserted dif source into TUTOR.TXT to illustrate a very simple
  78.   callback error function.  Substituted the dif program for the cmp program 
  79.   in regression test TEST.BAT.
  80.  
  81.  
  82. 4/5/94 - vers 1.11
  83.  
  84.   When is the minimum not the minimum?  MIN values in <float.h> are defined 
  85.   differently than in <limits.h>.  Fixed code to match definitions in 
  86.   ANSI X3.159-1989 Section 2.2.4.2.
  87.   
  88.   RECIO now tests for underflow and overflow of all floating point numbers 
  89.   input.  Test results TESTCH.OUT shows when overflow and underflow occur.
  90.   
  91.   Created new rfix functions to provide a quick way to fix overflows and 
  92.   underflows, and to get callback error functions up and running more 
  93.   quickly.
  94.  
  95.  
  96. 3/28/94 - vers 1.10
  97.  
  98.   Created single precision floating point functions rgetf() and rcgetf().
  99.  
  100.   Created functions rsetbegcolno() and rbegcolno() to make it easy to 
  101.   have column numbering start at either 0 or 1.  Default is 0.
  102.  
  103.   Created program TESTCO to test column delimited fields; enhanced test 
  104.   program TESTCH for character delimited fields.
  105.   
  106.   Created new symbolic error constants for record streams.  Program must 
  107.   use symbolic constants starting with R_ (such as R_EINVDAT) for valid 
  108.   record streams; use errno constants (such as ENOMEM) for invalid record 
  109.   streams.  New error checking provides better reporting and portability.
  110.   New symbolic error constants are not compatible with version 1.00; 
  111.   some rework of version 1.00 callback error functions required.
  112.  
  113.   Fixed some bugs in the column delimited functions.
  114.  
  115. 3/23/94 - vers 1.00
  116.  
  117.   Initial public release.
  118.